Skip to main content

¿Cómo subir a Apple Store?

Instalación previa

Recuerda revisar la documentación de eas para las instalaciones previas y la configuración de tu app.

Subir a Apple Store

Aquí hay un buen tutorial, aunque es un poco extenso, ya que lo hace desde cero: Cómo publicar la aplicación en la Apple Store.

Sin embargo, aquí será un poco más breve. Una vez que tengas todo listo con eas, ten en cuenta que en Apple es más complicado en comparación con Google Play, ya que es más automatizado y requiere más credenciales. Sin embargo, con Expo, gran parte de la responsabilidad recae en ellos.

# Te pedirá el identificador que es com.empresa
eas build --platform ios

Luego, te pedirá tu cuenta de Apple, en la que deberás ingresar tu correo y contraseña. También te solicitará un código de verificación, como si estuvieras ingresando desde el navegador.

Una vez dentro, te preguntará a qué equipo tenemos que acceder y cómo se llama el proyecto. Lo que hará es crear un bundleId que se guardará en el servidor de expo.dev para poder descargarlo o acceder a él.

Una vez que termines con esto, compilará dentro de expo.dev y desde ahí podrás descargar un archivo .ipa para usarlo, pero no servirá para subirlo a tiendas.

Subir a tiendas

Para subir a las tiendas, se modifico tu app.json como el siguiente ejemplo:

// Debajo de assetBundlePatterns
{
"expo": {
"name": "Nombre de app",
"slug": "nombredelproyecto",
"version": "1.0.3",
...
"assetBundlePatterns": [
"**/*"
],
"ios": {
"supportsTablet": true,
"bundleIdentifier": "com.empresa.proyectid"
}
}
}

Mandar petición a Apple Store

Ahora, cuando vayas a crear el proyecto desde Apple Developer, te pedirá:

  • Nombre
  • Lenguaje
  • Bundle ID (lo encontrarás con un nombre raro, pero que incluye tu nombre, es el identificador de bundle que creó Expo por ti)
  • SKU, que es el com.empresa.proyectId, que corresponde al bundleIdentifier

Una vez que crees el proyecto, podrás terminar la configuración de eas.json:

{
"cli": {
"version": ">= 4.1.2"
},
"build": {
// Datos del proyecto
},
"submit": {
"production": {
"ios": {
"appleId": "correo de apple store",
"ascAppId": "Lo encuentras en el proyecto en General/App Information y busca Apple ID",
"appleTeamId": "Lo encuentras en la cuenta de Apple Developer, en Membership => Team ID"
}
}
}
}

Una vez que hayas agregado esos datos, podrás enviar la app automáticamente a las tiendas sin que te pida nuevamente la contraseña y el correo.

Lanza la siguiente petición:

# Esto buscará tu último .ipa y lo subirá a tiendas, en este caso para pruebas internas
eas submit -p ios --latest

A continuación, te preguntará sobre tu clave para subir a tiendas:

  • [choose an existing ASC Api Key]: Te pregunta si deseas utilizar una clave de API existente de App Store Connect (ASC) que ya hayas configurado previamente.
  • [add a new ASC Api Key]: O puedes agregar una nueva clave de API de App Store Connect si no tienes una configurada.
  • [Enter an App Specific Password]: En caso de que no uses claves API, puedes optar por usar una contraseña específica para la aplicación, la cual se genera desde la cuenta de Apple para aplicaciones o servicios que necesitan autenticarse con App Store Connect.

Para simplificar, puedes elegir Enter an App Specific Password, lo cual te pedirá el correo y la contraseña nuevamente. Luego comenzará a enviar a tiendas desde Expo, así que solo queda esperar; puedes visualizar el proceso en expo.dev y estará disponible en TestFlight.

Actualizar la app

Recuerda cambiar la versión y el buildNumber en app.json:

// Debajo de assetBundlePatterns
{
"expo": {
"name": "Nombre de app",
"slug": "nombredelproyecto",
"version": "1.0.3",
...
"assetBundlePatterns": [
"**/*"
],
// Aquí
// Indica si es para tablets
// El número de build del proyecto
// Y el identificador del proyecto, recuerda que debe ser el mismo que en la Apple Store
"ios": {
"supportsTablet": true,
"buildNumber": "8",
"bundleIdentifier": "com.empresa.proyectid"
}
}
}

Luego, lanza el siguiente comando, que como ya está configurado, solo se subirá. Te pedirá de nuevo el correo y la contraseña y subirá a expo.dev para generar el .ipa.

eas build --platform ios

Una vez listo, lanza la siguiente petición. Como ya sabe dónde está la clave API, subirá directamente y solo quedará esperar a que expo.dev termine y te avise si todo fue correcto.

eas submit -p ios --latest